1. Field of the Invention
The invention generally relates to video display systems; and in particular, the present invention relates to the precision horizontal alignment of video signals from multiple sources for display on a monitor.
2. Background of the Invention
In a multimedia display environment, two or more video images from separate sources are displayed on a display monitor as a composite image. For example, in a computer-based video conferencing system, motion video images from a local site or a remote site, or both, are multiplexed with computer graphic images using an analog multiplexer and displayed on a computer monitor. The video conference participants may view motion video of each other and share computer application data and information. FIG. 1 illustrates an exemplary composite image of a computer-based video conferencing system. In FIG. 1, a computer graphic image 10 generated by a personal computer (PC) is multiplexed with a motion video image 12 captured by a camera to produce a composite image 14 for display on a computer monitor (not shown). Computer graphic image 10 may include a window 16 running computer applications such as the video conferencing control application or other applications containing data shared by the conference participants. The computer graphic image 10 also includes a window 18 having a window frame 17 generated by the video conferencing control application and a blank content 19. (In FIG. 1, although blank content 19 is shown to be black, it is understood that the content is arbitrary.) To form composite image 14, blank content 19 is replaced with motion video image 12 by an analog multiplexer. The motion video data stream must be synchronized to the computer graphic image data stream. To generate a high quality composite image 14, motion video image 12 must be aligned with window frame 17 of computer graphic image 10 both horizontally and vertically.
Prior art video display systems are unsatisfactory because only coarse horizontal adjustments (4 or 8 pixels) of the overlaid images are possible. In a conventional video display system, the vertical alignment can be precise because the vertical parameters of the video signal (i.e. vertical sync frequency, start and end of vertical active video, vertical front porch, and vertical back porch) are typically adjusted in units of the horizontal scan lines. Because each scan line is one pixel in height, the vertical resolution of the video signal can be determined within a pixel accuracy.
However, horizontal alignment is more problematic because horizontal timing parameters are typically adjusted using the frame clock which has a lower resolution than the pixel clock. The lower frequency frame clock is used because the frequency of the pixel clock frequently exceeds the frequency capability of typical logic devices. Therefore, the frame clock is usually a divide by four or divide by eight of the pixel clock. The slower frame clock is used to drive logic circuits associated with the horizontal synchronization of the video signals. Because all horizontal timing events (such as horizontal sync frequency, start and end of horizontal active video) are triggered by the clocking edge of the frame clock, horizontal positioning must occur in increments of the frame clock. Therefore, the horizontal positioning of the display image cannot achieve pixel or sub-pixel range resolution.
Moreover, delays that exist in the signal path of the video synchronization signals worsen the alignment problem. FIG. 2 illustrates the timing relationship of the horizontal synchronization pulse, Hsync, and the active video signal in a conventional video system. In FIG. 2, signal line 20 is the pixel clock and signal line 22 is the frame clock. In this illustration, each period of the frame clock includes four pixel clock periods. The timing relationship between Hsync (line 24) and the start of active video (line 26) is affected by delays in both the Hsync and active video signal paths of the video system. The different signal paths for Hsync and for the active video within the video system create dissimilar delays for the signals with respect to the clocking edge of the frame clock (here, the clocking edge of the frame clock is the rising edge of the clock pulse). Because of these dissimilar delays, the timing relationship between Hsync and the start of active video is not a simple multiple of the frame clock or even the pixel clock and timing events do not coincide with the clocking edge of the frame clock or the pixel clock.
As seen in FIG. 2, Hsync (line 24) has a delay of about 0.5 pixel clocks from the clocking edge of frame clock while the start of active video (line 26) has a delay of about 3 pixel clocks. As a result, the start of Hsync and the start of active video do not coincide with the clocking edge of the frame clock. Further, the time between the start of Hsync and the start of active video is not an integer multiple of the frame clock. In FIG. 2, the time difference is about 18.5 pixel clocks which is about 4.625 frame clocks. When the time difference between Hsync and the start of active video is not an integer multiple of the frame clock and timing events do not coincide with the clocking edge of the frame clock, precise horizontal positioning of a video image is not possible because horizontal positioning must be adjusted in increments of the frame clock.
When a video conferencing system is multiplexing two video signals for display as a composite image, precise alignment of the two video signals is made difficult by the dissimilar delays in the signal paths of each of the video signals. FIG. 3 illustrates the timing relationship of two video signals, a PC video and a local video, and depicts the effect of signal path delays on the horizontal alignment of the two video signals. In FIG. 3 and in the following description, PC video (line 39) is the computer video signal and PC Hsync (line 38) is the synchronization signal for the PC video signal. Local video (line 36) is the video signal generated locally by the video conferencing system to be displayed as an overlaid image on the PC video signal. Local Hsync (line 34) is the synchronization signal for the local video.
In a conventional video display system, the delays in the signal path for the local video signal are probably different from the delays in the signal path for the PC video signal. Therefore, even though a conventional video display system can synchronize the horizontal synchronization pulses, PC Hsync and local Hsync (as indicated by the dashed line 31 in FIG. 3), the start of PC active video (line 39) and the start of local active video (line 36) are probably not synchronized and an offset .delta. exists between the active video signals. The offset .delta. is generally in the range of zero to one frame clock period because adjustments of frame controller parameters such as back porch timing can reduce .delta. to less than one frame clock. In the example shown in FIG. 3, the offset .delta. has been reduced to 2.5 pixel clocks but misalignment is still visible. Because horizontal positioning can only occur in increments of the frame clock (line 32), the PC video signal will always be misaligned from the motion video signal by the offset .delta. (or 1 frame clock minus .delta.). The image misalignment yields poor visual results. For example, in the video conferencing system, the motion video image (the window content) may become overlapped with the computer graphic image (the window frame). Although adjusting back porch timing can reduce the horizontal misalignment down to one-half frame clock or less, the result is still frequently unsatisfactory.
Therefore, there is a need to provide precise horizontal alignment of video images generated from two separate sources. The ability to make fine horizontal adjustment with a single pixel accuracy or sub-pixel accuracy is desirable. In addition, it is desirable to be able to perform the horizontal adjustment automatically.